///************************************************************************
/// <copyrigth>2018-2019 Corporation.All Rights Reserved</copyrigth>
/// <author>tangyingzhong</author>
/// <contact>tangyz114987@outlook.com</contact>
/// <version>v1.0.0</version>
/// <describe>
/// Test interfaces
///</describe>
/// <date>2020/7/26</date>
///***********************************************************************
#ifndef ITEST_H
#define ITEST_H

#include <vector>
#include "Base/IPlugin.h"

#define TEST_NAME "Test"

#define TEST_VERSION 1,0,0

#define TEST_PLUGIN_BASE TEST_NAME,TEST_VERSION

#define TEST_IS_START_ON_LOAD true

#define TEST_IS_MAIN_SERVICE false

#define TEST_PLUGIN TEST_PLUGIN_BASE,TEST_IS_START_ON_LOAD,TEST_IS_MAIN_SERVICE

enum TEST_EVENT_ID_ENUM
{
	SHOW_TEST_1=0,

	SHOW_TEST_2
};

struct TestEventArgs1:public EventArgs
{
	std::string strMessage;
};

struct TestEventArgs2 :public EventArgs
{
	std::string strMessage;
};

class ITest :public IPlugin
{
public:
	// Detructe the ITest
	virtual ~ITest() {	};

public:
	// Say hello
	virtual void SayHello() = 0;

	// Do something
	virtual bool DoSomething(std::vector<std::string>& Table) = 0;
};

#endif // ITEST_H
